Digital networks have been developed to facilitate the transfer of information, including data and programs, among digital computer systems and other digital devices. A variety of types of networks have been developed and implemented using diverse information transfer methodologies. In some networks, such as the well-known Ethernet, a single wire is used to interconnect all of the devices connected to the network. While this simplifies wiring of the network in a facility and connection of the devices to the network, it results in generally slow information transfer, since the wire can only carry information, in the form of messages, from a single device at a time. To alleviate this to some extent, in some Ethernet installations, the network is divided into a number of sub-networks, each having a separate wire, with interfaces interconnecting the wires. In such installations, wires can carry messages for devices connected thereto simultaneously, which increases the number of messages that can be transferred simultaneously. It is only when a device connected to one wire needs to send a message to a device connected to another wire that wires in two or more sub-networks will be used, making them unavailable for use by other devices connected thereto.
To alleviate this, networks have been developed in which communications are handled through a mesh of switching nodes. The computer systems and other devices are connected to various ones of the switching nodes. Since the switching nodes themselves are interconnected in a variety of patterns, a number of paths may be available between pairs of the devices, so that if one path is congested, another may be used. Such an arrangement may result in a network which is more complicated than an Ethernet network, but it can provide substantially higher information transfer rates, particularly if optical fiber is used as the media interconnecting the switching nodes and devices. A problem which may arise with such networks is that, in such networks, a switching node or a device, when it is receiving information from another switching node or device in the network, does not have a mechanism to provide "flow-control" information to the transmitting switching node or device. While this does reduce the cost of a network, it may result in congestion, in which a switching node may receive information at a rate faster than it can transmit it.
This problem has been addressed in one type of network, namely, a network implemented in accordance with the ATM ("Asynchronous Transfer Mode") methodology. In such a network, a --"packet" of data is transmitted from a source device to one or more destination devices in a series of "cells." If a switching node detects congestion, such that it is receiving cells faster than it can transmit them, it can make use of several mechanisms. In one such mechanism, identified as "early packet discard," which may be used if a moderate amount of congestion is experienced, the switching node first refuses to accept cells related to any new packets, but it attempts to continue transferring cells associated with packets it has already begin transferring. This may alleviate the congestion downstream of the switching node, or at least provide that it does not increase. However, the congestion may continue increasing to a point where the node activates a second mechanism, identified as "partial packet discard." In the partial packet discard mechanism, if the switching node, due to increased congestion, has to drop one cell for a packet that it has begun transferring, it will continue dropping the cells from the same packet because all of the cells for a packet are required to correctly reassemble the packet at the destination. If the partial packet discard mechanism is activated due to congestion, partial packet discard should reduce it, but the packets which have been discarded may be retransmitted by the source, so the switching nodes's resources used to transfer the cells prior to activation of the partial packet discard mechanism were wasted.
A problem arises, however, in connection with the cell or packet discard mechanisms used in ATM networks. In particular, the ATM transfer methodology defines a number of types of service classes, and, for several of those service classes, service rate and cell loss guarantees may be provided. For connections which have a particular service rate guarantee, each switching node handling cells for a particular user will guarantee that cells associated with those connections will be transferred at least at a particular minimum rate through the network. This service rate may differ as among the various network users. Users may be provided with a minimum service rate, in which case they expect to be provided with at least a specified minimum rate, but may be transferred at a faster rate when there is available transfer bandwidth above the bandwidth that required for the connections for which there is a service rate guarantee. In addition, if cell loss guarantees are provided, the switching nodes handling cells for a particular user will guarantee that they will only lose, discard or otherwise fail to transfer cells for the user at a particular cell loss rate. The problem arises in that care must be taken to identify users for which cells can be discarded, to ensure that their guarantees are observed.